home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / vt_buffer.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  1KB  |  65 lines

  1. /*
  2.  *    include/linux/vt_buffer.h -- Access to VT screen buffer
  3.  *
  4.  *    (c) 1998 Martin Mares <mj@ucw.cz>
  5.  *
  6.  *    This is a set of macros and functions which are used in the
  7.  *    console driver and related code to access the screen buffer.
  8.  *    In most cases the console works with simple in-memory buffer,
  9.  *    but when handling hardware text mode consoles, we store
  10.  *    the foreground console directly in video memory.
  11.  */
  12.  
  13. #ifndef _LINUX_VT_BUFFER_H_
  14. #define _LINUX_VT_BUFFER_H_
  15.  
  16. #include <linux/config.h>
  17.  
  18. #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_MDA_CONSOLE)
  19. #include <asm/vga.h>
  20. #endif
  21.  
  22. #ifndef VT_BUF_HAVE_RW
  23. #define scr_writew(val, addr) (*(addr) = (val))
  24. #define scr_readw(addr) (*(addr))
  25. #define scr_memcpyw(d, s, c) memcpy(d, s, c)
  26. #define scr_memmovew(d, s, c) memmove(d, s, c)
  27. #define VT_BUF_HAVE_MEMCPYW
  28. #define VT_BUF_HAVE_MEMMOVEW
  29. #endif
  30.  
  31. #ifndef VT_BUF_HAVE_MEMSETW
  32. static inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
  33. {
  34.     count /= 2;
  35.     while (count--)
  36.         scr_writew(c, s++);
  37. }
  38. #endif
  39.  
  40. #ifndef VT_BUF_HAVE_MEMCPYW
  41. static inline void scr_memcpyw(u16 *d, const u16 *s, unsigned int count)
  42. {
  43.     count /= 2;
  44.     while (count--)
  45.         scr_writew(scr_readw(s++), d++);
  46. }
  47. #endif
  48.  
  49. #ifndef VT_BUF_HAVE_MEMMOVEW
  50. static inline void scr_memmovew(u16 *d, const u16 *s, unsigned int count)
  51. {
  52.     if (d < s)
  53.         scr_memcpyw(d, s, count);
  54.     else {
  55.         count /= 2;
  56.         d += count;
  57.         s += count;
  58.         while (count--)
  59.             scr_writew(scr_readw(--s), --d);
  60.     }
  61. }
  62. #endif
  63.  
  64. #endif
  65.